Skip to content

Cleanup pixi.toml, consolidate vinca.yaml in a single file and cleanup build of livox-ros-driver2 #79

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Jun 21, 2025

Conversation

traversaro
Copy link
Member

@traversaro traversaro commented Jun 21, 2025

This PR contains several cleanups that hopefully will make the project more maintainable:

@traversaro traversaro changed the title Cleanup pixi.toml and vinca.yaml Cleanup pixi.toml, consolidate vinca.yaml in a single file and cleanup build of livox-ros-driver2 Jun 21, 2025
@traversaro traversaro requested review from Tobias-Fischer and wolfv and removed request for Tobias-Fischer June 21, 2025 07:46
@traversaro
Copy link
Member Author

fyi @wep21 @gftabor the consolidation of the vinca.yaml will change a bit how PR are done, let me know if there is anything not clear, thanks!

@Tobias-Fischer
Copy link
Contributor

That’s amazing, thanks so much @traversaro :)!

I wonder if one day we can take it a step further and unify most of the files across distributions …

Do you know why it rebuilds files in CI in the PR? The Windows build is failing unfortunately.

@Tobias-Fischer
Copy link
Contributor

We could try https://github.com/marketplace/actions/github-workflow-sync

@traversaro
Copy link
Member Author

Do you know why it rebuilds files in CI in the PR? The Windows build is failing unfortunately.

Yes, I think in the merge I started building grid_map also on Windows, that before was not build there. However, it seems that it build almost everything, let's see if that is easy to fix, otherwise I will go back to skip it on Windows.

I wonder if one day we can take it a step further and unify most of the files across distributions …

That's the goal, I think that if we can simplify the amount of files in the different distro that becomes also easier.

@traversaro
Copy link
Member Author

However, it seems that it build almost everything, let's see if that is easy to fix, otherwise I will go back to skip it on Windows.

I did an upstream fix in OctoMap/octomap_rviz_plugins#50, but then the build fails with:

MSBuild version 17.13.15+18b3035f6 for .NET Framework
MSBUILD : error MSB1009: Project file does not exist.
Switch: Release.vcxproj

D:\src\ros-jazzy\output\bld\rattler-build_ros-jazzy-octomap-rviz-plugins_1750498615\work\build>cmake --build . --config Release
MSBuild version 17.13.15+18b3035f6 for .NET Framework

  1>Checking Build System
  Automatic MOC for target octomap_rviz_plugins
  Building Custom Rule D:/src/ros-jazzy/output/bld/rattler-build_ros-jazzy-octomap-rviz-plugins_1750498615/work/ros-jazzy-octomap-rviz-plugins/src/work/CMakeLists.txt
  moc_occupancy_grid_display.cpp
  moc_occupancy_map_display.cpp
  D:/src/ros-jazzy/output/bld/rattler-build_ros-jazzy-octomap-rviz-plugins_1750498615/h_env/Library/opt/rviz_ogre_vendor/include/OGRE\OgreVector3.h is deprecated, migrate to Ogre.h
  Generating Code...
occupancy_map_display.obj : error LNK2019: unresolved external symbol "class std::vector<unsigned char,class std::allocator<unsigned char> > __cdecl rviz_default_plugins::displays::makeRawPalette(bool,int)" (
?makeRawPalette@displays@rviz_default_plugins@@YA?AV?$vector@EV?$allocator@E@std@@@std@@_NH@Z) referenced in function "public: virtual void __cdecl octomap_rviz_plugins::OccupancyMapDisplay::onInitialize(void
)" (?onInitialize@OccupancyMapDisplay@octomap_rviz_plugins@@UEAAXXZ) [D:\src\ros-jazzy\output\bld\rattler-build_ros-jazzy-octomap-rviz-plugins_1750498615\work\build\octomap_rviz_plugins.vcxproj]
occupancy_map_display.obj : error LNK2019: unresolved external symbol "class std::vector<unsigned char,class std::allocator<unsigned char> > __cdecl rviz_default_plugins::displays::makeMapPalette(bool,int)" (
?makeMapPalette@displays@rviz_default_plugins@@YA?AV?$vector@EV?$allocator@E@std@@@std@@_NH@Z) referenced in function "public: virtual void __cdecl octomap_rviz_plugins::OccupancyMapDisplay::onInitialize(void
)" (?onInitialize@OccupancyMapDisplay@octomap_rviz_plugins@@UEAAXXZ) [D:\src\ros-jazzy\output\bld\rattler-build_ros-jazzy-octomap-rviz-plugins_1750498615\work\build\octomap_rviz_plugins.vcxproj]
occupancy_map_display.obj : error LNK2019: unresolved external symbol "class std::vector<unsigned char,class std::allocator<unsigned char> > __cdecl rviz_default_plugins::displays::makeCostmapPalette(bool,int
)" (?makeCostmapPalette@displays@rviz_default_plugins@@YA?AV?$vector@EV?$allocator@E@std@@@std@@_NH@Z) referenced in function "public: virtual void __cdecl octomap_rviz_plugins::OccupancyMapDisplay::onInitial
ize(void)" (?onInitialize@OccupancyMapDisplay@octomap_rviz_plugins@@UEAAXXZ) [D:\src\ros-jazzy\output\bld\rattler-build_ros-jazzy-octomap-rviz-plugins_1750498615\work\build\octomap_rviz_plugins.vcxproj]
D:\src\ros-jazzy\output\bld\rattler-build_ros-jazzy-octomap-rviz-plugins_1750498615\work\build\Release\octomap_rviz_plugins.dll : fatal error LNK1120: 3 unresolved externals [D:\src\ros-jazzy\output\bld\rattl
er-build_ros-jazzy-octomap-rviz-plugins_1750498615\work\build\octomap_rviz_plugins.vcxproj]

that I think it is actually due to some missing symbol export in rviz, so I think we can just skip for now.

@traversaro
Copy link
Member Author

traversaro commented Jun 21, 2025

Ok, skipped in a7edd5c that is also a good check if the whole selectors stuff works.

@traversaro
Copy link
Member Author

However, it seems that it build almost everything, let's see if that is easy to fix, otherwise I will go back to skip it on Windows.

I did an upstream fix in OctoMap/octomap_rviz_plugins#50, but then the build fails with:

MSBuild version 17.13.15+18b3035f6 for .NET Framework
MSBUILD : error MSB1009: Project file does not exist.
Switch: Release.vcxproj

D:\src\ros-jazzy\output\bld\rattler-build_ros-jazzy-octomap-rviz-plugins_1750498615\work\build>cmake --build . --config Release
MSBuild version 17.13.15+18b3035f6 for .NET Framework

  1>Checking Build System
  Automatic MOC for target octomap_rviz_plugins
  Building Custom Rule D:/src/ros-jazzy/output/bld/rattler-build_ros-jazzy-octomap-rviz-plugins_1750498615/work/ros-jazzy-octomap-rviz-plugins/src/work/CMakeLists.txt
  moc_occupancy_grid_display.cpp
  moc_occupancy_map_display.cpp
  D:/src/ros-jazzy/output/bld/rattler-build_ros-jazzy-octomap-rviz-plugins_1750498615/h_env/Library/opt/rviz_ogre_vendor/include/OGRE\OgreVector3.h is deprecated, migrate to Ogre.h
  Generating Code...
occupancy_map_display.obj : error LNK2019: unresolved external symbol "class std::vector<unsigned char,class std::allocator<unsigned char> > __cdecl rviz_default_plugins::displays::makeRawPalette(bool,int)" (
?makeRawPalette@displays@rviz_default_plugins@@YA?AV?$vector@EV?$allocator@E@std@@@std@@_NH@Z) referenced in function "public: virtual void __cdecl octomap_rviz_plugins::OccupancyMapDisplay::onInitialize(void
)" (?onInitialize@OccupancyMapDisplay@octomap_rviz_plugins@@UEAAXXZ) [D:\src\ros-jazzy\output\bld\rattler-build_ros-jazzy-octomap-rviz-plugins_1750498615\work\build\octomap_rviz_plugins.vcxproj]
occupancy_map_display.obj : error LNK2019: unresolved external symbol "class std::vector<unsigned char,class std::allocator<unsigned char> > __cdecl rviz_default_plugins::displays::makeMapPalette(bool,int)" (
?makeMapPalette@displays@rviz_default_plugins@@YA?AV?$vector@EV?$allocator@E@std@@@std@@_NH@Z) referenced in function "public: virtual void __cdecl octomap_rviz_plugins::OccupancyMapDisplay::onInitialize(void
)" (?onInitialize@OccupancyMapDisplay@octomap_rviz_plugins@@UEAAXXZ) [D:\src\ros-jazzy\output\bld\rattler-build_ros-jazzy-octomap-rviz-plugins_1750498615\work\build\octomap_rviz_plugins.vcxproj]
occupancy_map_display.obj : error LNK2019: unresolved external symbol "class std::vector<unsigned char,class std::allocator<unsigned char> > __cdecl rviz_default_plugins::displays::makeCostmapPalette(bool,int
)" (?makeCostmapPalette@displays@rviz_default_plugins@@YA?AV?$vector@EV?$allocator@E@std@@@std@@_NH@Z) referenced in function "public: virtual void __cdecl octomap_rviz_plugins::OccupancyMapDisplay::onInitial
ize(void)" (?onInitialize@OccupancyMapDisplay@octomap_rviz_plugins@@UEAAXXZ) [D:\src\ros-jazzy\output\bld\rattler-build_ros-jazzy-octomap-rviz-plugins_1750498615\work\build\octomap_rviz_plugins.vcxproj]
D:\src\ros-jazzy\output\bld\rattler-build_ros-jazzy-octomap-rviz-plugins_1750498615\work\build\Release\octomap_rviz_plugins.dll : fatal error LNK1120: 3 unresolved externals [D:\src\ros-jazzy\output\bld\rattl
er-build_ros-jazzy-octomap-rviz-plugins_1750498615\work\build\octomap_rviz_plugins.vcxproj]

that I think it is actually due to some missing symbol export in rviz, so I think we can just skip for now.

Anyhow, just as an investment for the future, I fixed the root issue in rviz: ros2/rviz#1492 .

@traversaro
Copy link
Member Author

@Tobias-Fischer CI is happy.

@Tobias-Fischer Tobias-Fischer merged commit 806213d into main Jun 21, 2025
5 checks passed
@gftabor
Copy link
Contributor

gftabor commented Jun 21, 2025

The new vinca file looks a lot cleaner. And it's more clearly laid out why some aren't built on windows. Platform parity will be a lot more maintainable now.

I'll make sure to update my apriltag PR.

@traversaro traversaro deleted the cleanupjune25 branch June 21, 2025 13:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants